<!DOCTYPE html><html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Yoshimi User Manual ~ Midi Learn</title>
    <link rel="stylesheet" type="text/css" href="../files/style.css">
  </head>
  <body>
    <nav class="navbar">
      <a href="../index.html">Index</a>
    </nav>
    <h2 style="text-align: center">MIDI Learn</h2>
    <p>
    MIDI learn provides the ability for almost any CC or NRPN to directly modify any of Yoshimi's available controls. In fact you can also learn some channel mode messages that are given pseudo-CCs. These are Pitch Bend (128), Channel pressure (129), Key pressure (130).
    <br><br>
    To use this, you hold down the <em>Ctrl</em> key, then click on the knob/slider you want to link to. This will pop up either of the two windows below depending whether or not the control is learnable.
    </p>
    <img src="images/learning.png" alt="MIDI Learning window" width="40%">
    <img src="images/cantlearn.png" alt="MIDI Can't Learn window" width="50%" style="float: right">
    <img src="../images/boundry.png" alt="divider" class="wideline">
    If the control is learnable, moving any of the recognised MIDI controls will pop up the MIDI learned window, with all the details.
    <img src="images/mlearn.png" alt="The MIDI Learn window" class="image">
    <p>
    In the example shown, you can see that learned controls are displayed as lines of settings, followed by a description of what is actually being managed. All controls are then editable, with the exception of NRPN numbers.
    <br><br>
    (controls)
    <ul>
    <li>
    <b>Mute</b> This completely disables this line only. Bear in mind that if it had been blocking later lines, that will no longer be the case.
    </li><li>
    <b>CC</b> The incoming CC to respond to. In the case of NRPNs this is presented as two hexadecimal 7bit values. As well as these, there are three channel mode messages that are learnable and reported as pseudo CCs:
    <div class="tab">
    128 - Pitch bend<br>
    129 - Channel Aftertouch<br>
    130 - Key Aftertouch<br>
    </div>
    </li><li>
    <b>Chan</b> A drop-down menu to select the incoming channel to recognise. The last entry allows all channels to be effective for this line.
    </li><li>
    <b>Min</b> The minimum control value to accept as a percentage of the input.
    </li><li>
    <b>Max</b> The maximum control value to accept as a percentage of the input. If Max is less than Min, the control action is reversed.
    </li><li>
    <b>Limit</b> Normally Min and Max compress the incoming value to the range set, however if Limit is set then the range is unchanged, but values outside will be set to these limits. If min is <em>equal</em> to max this becomes a switch point and values either side will be treated as 0% or 100%.
    </li><li>
    <b>Block</b> This will block any further lines from receiving this <em>exact</em> CC/channel pair. This includes all other Yoshimi controls except <a href="../vector/vector.html">Vectors</a>.
    </li>
    </ul>
    To clear an individual line hold down the <em>Ctrl</em> key and click on the description field of the one you want to remove.
    <br><br>
    Note:
    <br>
    &emsp;You can have up to 400 learned lines, and multiple lines can respond to the same CC/Channel pair but performing completely different actions. Also you can change the Channel numbers and CC at a late date to suit different control sources.
    </p>
    <p>
    (buttons)
    <ul>
    <li>
    <b>Load</b> Opens a window for loading a complete list of learned lines.
    </li><li>
    <b>Save</b> Opens a window for saving the current list of learned lines.
    </li><li>
    <b>Recent</b> Opens a small window for selecting recently seen lists.
    </li><li>
    <b>Clear</b> Deletes the entire current list.
    </li>
    </ul>
    </p>
    <p>
    For any given CC, MIDI learn takes priority over the <a href="../part/solo.html"> Solo</a> feature, but is itself over-ridden by <a href="../vector/vector.html">Vectors</a>
    </p>
  </body>
</html>
